package com.simulation.web.service;

import com.github.pagehelper.PageInfo;
import com.simulation.web.domain.TechTaskSubmissions;
import com.simulation.web.dto.TaskSubmissionsDTO;
import com.simulation.web.vo.TechTaskSubmissionsVO;

import java.util.List;

/**
 * @Author 唐雄杰
 * @Date 2024-08-26 19:19
 **/
public interface TaskSubmissionsService {
    /**
     * 批量生成任务提交数据
     * @param taskSubmissions
     */
    void batchInsert(List<TechTaskSubmissions> taskSubmissions, String bucketName);

    /**
     * 根据任务id分页查询任务提交列表
     * @param taskSubmissionsDTO
     * @return
     */
    PageInfo<TechTaskSubmissionsVO> getPageByTaskId(TaskSubmissionsDTO taskSubmissionsDTO);

    /**
     * 根据任务提交id查询提交详情
     * @param id
     * @return
     */
    TechTaskSubmissionsVO getById(Long id);

    /**
     * 根据任务提交id删除数据
     * @param id
     */
    void deleteById(Long id);

    /**
     * 更新提交详情（忽略null值）
     * @param techTaskSubmission
     */
    void updateIgnoreNull(TechTaskSubmissions techTaskSubmission);

    PageInfo<TechTaskSubmissionsVO> getPageByUserId(TaskSubmissionsDTO taskSubmissionsDTO);
}
